package zj.xinxin.api.moudle.article.api;

import com.baomidou.mybatisplus.extension.service.IService;
import zj.xinxin.api.moudle.article.dto.ArticleDto;
import zj.xinxin.api.moudle.article.entity.ArticleEntity;
import zj.xinxin.api.moudle.article.vo.ArticlePageSearchVo;
import zj.xinxin.api.moudle.article.vo.ArticleUpdateVo;
import zj.xinxin.api.moudle.article.vo.ArticleVo;
import zj.xinxin.common.result.PageResult;

/**
 * <p>
 * 文章  服务类
 * </p>
 *
 * @author zhoujun
 * @since 2022-04-12
 */
public interface ArticleService extends IService<ArticleEntity> {

    /**
     * 添加文章信息
     * @param article 文章内容
     * @return 是否创建成功
     */
    Boolean addArticle(ArticleVo article);

    /**
     * 根据文章 Id 获取文章详情
     * @param articleId 文章ID
     * @return 文章详情信息
     */
    ArticleDto getByArticleId(Long articleId);

    /**
     * 更新文章信息
     * @param update 待更新的文章信息
     * @return 是否更新成功
     */
    Boolean updateByVo(ArticleUpdateVo update);

    /**
     * 分页查询文章信息
     * @param search 搜索条件
     * @return 查询结果
     */
    PageResult<ArticleDto> searchPage(ArticlePageSearchVo search);
}
